package com.scau402.system1.domain.bo;

import com.scau402.common.core.domain.AggregateRoot;
import com.scau402.common.core.domain.BaseBO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

/**
 * 单个翡翠信息对象 wms_jade
 *
 * @author ruoyi
 * @date 2023-06-26
 */
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class WmsJadeBO extends BaseBO implements AggregateRoot {

    /**
     * id
     */
    private Long id;

    /**
     * 属于 0出库 1入库
     */
    private String orderType;

    /**
     * 翡翠所属入库单ID
     */
    private String orderCode;

    /**
     * 翡翠品类
     */
    private WmsJadeTypeBO jadeTypeBO;

    /**
     * 翡翠特征
     * // TODO  2024/1/4 18:32: 不确定翡翠与翡翠特征的数量关系，暂时用List
     */
    private List<WmsJadeFeatureBO> jadeFeatureBOList;

    /**
     * 翡翠编码
     */
    private String jadeCode;

    /**
     * 翡翠名称
     */
    private String jadeName;

    /**
     * 翡翠条码
     */
    private String jadeBarcode;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 客户id
     */
    private Long clientId;

    /**
     * 所属仓位主键
     */
    private Long storageId;

    /**
     * 所属仓库主键
     */
    private Long warehouseId;

    /**
     * 翡翠货品数量
     */
    private Long jadeQuantity;

    /**
     * 已还货数量
     */
    private Long returnQuantity;

    /**
     * 未还货数量
     */
    private Long notReturnQuantity;

    /**
     * 翡翠重量(单位:克)
     */
    private BigDecimal jadeWeight;

    /**
     * 翡翠成本价格
     */
    private BigDecimal jadeCost;

    /**
     * 翡翠标签价格
     */
    private BigDecimal jadeTagPrice;

    /**
     * 翡翠市场价格
     */
    private BigDecimal jadeMarketPrice;

    /**
     * 翡翠供货价格
     */
    private BigDecimal jadeSupplyPrice;

    /**
     * 成本价暗码
     */
    private String jadeCostCipher;

    /**
     * 标签价暗码
     */
    private String jadeTagPriceCipher;

    /**
     * 翡翠编码规则ID
     */
    private Long ciphertextId;

    /**
     * 翡翠图片ID
     */
    private Long imageId;

    /**
     * 状态（1在仓 2已借出  3市场已还  4已售出  5加工出库 ）
     */
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 租户ID
     */
    private Long tenantId;

    /**
     * 部门ID
     */
    private Long deptId;

}
